# A.2.3 节代码：api_checker.py
import os  # 导⼊ os 模块，⽤于访问操作系统功能

# 定义⼀个函数，⽤于检查环境变量中是否存在某个密钥
def check_key_status(key_name: str) -> bool:
	"""
	检查名为 key_name 的环境变量是否存在。
	返回 True 或 False。
	"""
	# os.getenv 是 os 模块中获取环境变量值的函数
	# os.environ 是⼀个字典，存储了所有的环境变量
	if os.getenv(key_name) is not None:
		return True
	else:
		return False


# 定义⼀个函数，⽤于打印最终的检查报告
def print_report(llm_key_ok: bool, redis_url_ok: bool):
	"""
	根据检查结果打印报告。
	"""
	print("\n--- API 密钥状态报告 ---")
	if llm_key_ok:
		print("LLM 密钥状态: 正常 (已找到)")
	else:
		# 注意：这⾥需要你先在终端设置 QIANFAN_ACCESS_KEY 环境变量，才能看到“正常”
		print("LLM 密钥状态: 缺失！请检查 QIANFAN_ACCESS_KEY")

	if redis_url_ok:
		print("Redis URL 状态: 正常 (已找到)")
	else:
		print("Redis URL 状态: 缺失！请检查 REDIS_URL")

	if llm_key_ok and redis_url_ok:
		print("\n系统核⼼配置通过检查！")
	else:
		print("\n警告：请修复缺失的配置后重试。")


# --- 主程序执⾏部分 ---
if __name__ == "__main__":
	# 1. 调⽤函数进⾏检查
	is_llm_key_set = check_key_status("QIANFAN_ACCESS_KEY")
	is_redis_url_set = check_key_status("REDIS_URL")
	# 2. 调⽤函数打印报告
	print_report(is_llm_key_set, is_redis_url_set)